Index: main/plugin-cms/resources/js/Ametys/cms/content/ContentDAO.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/cms/content/ContentDAO.i18n.js	(revision 28821)
+++ main/plugin-cms/resources/js/Ametys/cms/content/ContentDAO.i18n.js	(working copy)
@@ -165,9 +165,9 @@
 		 * @param {Boolean} [fullContents=false] If `true`, the callback function receives a Content object as argument. If `false`, only the content id is provided.
 		 * @param {String} [contentMessageTargetType=Ametys.message.MessageTarget#CONTENT] The message target factory role to use for the event of the bus thrown after content creation
 		 * @param {String} [parentContentMessageTargetType=Ametys.message.MessageTarget#CONTENT] The message target factory role to use for the event of the bus thrown after parent content modification if applyable
-		 * @param {Ext.Element} [waitMsgElt] The element that will be masked by the wait message
+		 * @param {Ext.Component} [waitMsgCmp] The component that will be masked by the wait message
 		 */
-		createContent: function (config, callback, scope, fullContents, contentMessageTargetType, parentContentMessageTargetType, waitMsgElt)
+		createContent: function (config, callback, scope, fullContents, contentMessageTargetType, parentContentMessageTargetType, waitMsgCmp)
 		{
 			// type, name and language are mandatory.
 			if (!config.contentType || !config.contentTitle || !config.contentLanguage)
@@ -218,7 +218,7 @@
 				parameters: params,
 				
 				priority: Ametys.data.ServerComm.PRIORITY_MAJOR, 
-				waitMessage: {msg: "<i18n:text i18n:key='DAOS_CONTENT_CREATE_REQUEST_WAIT'/>", target: waitMsgElt},
+				waitMessage: {msg: "<i18n:text i18n:key='DAOS_CONTENT_CREATE_REQUEST_WAIT'/>", target: waitMsgCmp},
 				errorMessage: {
 					msg: "<i18n:text i18n:key='DAOS_CONTENT_CREATE_REQUEST_ERROR'/>",
 					category: Ext.getClassName(this) + '.createContent'
Index: main/plugin-cms/resources/js/Ametys/cms/uihelper/CreateContent.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/cms/uihelper/CreateContent.i18n.js	(revision 28821)
+++ main/plugin-cms/resources/js/Ametys/cms/uihelper/CreateContent.i18n.js	(working copy)
@@ -466,7 +466,7 @@
 			this._fullContents,
 			null, 
 			null, 
-			this._box.getEl()
+			this._box
 		);
 	}
 });
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/content/actions/ArchiveContentAction.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/content/actions/ArchiveContentAction.i18n.js	(revision 28821)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/content/actions/ArchiveContentAction.i18n.js	(working copy)
@@ -117,7 +117,8 @@
     {
         var url = 'archives/archive/' + actionId;
         
-        this._waitMsg = new Ext.LoadMask({target: Ext.getBody(), msg: "<i18n:text i18n:key='CONTENT_ARCHIVE_WAITING_MESSAGE'/>", msgCls: 'ametys-mask-unloading'});
+        var viewport = Ext.ComponentQuery.query('viewport')[0];
+        this._waitMsg = new Ext.LoadMask({target: viewport, msg: "<i18n:text i18n:key='CONTENT_ARCHIVE_WAITING_MESSAGE'/>", msgCls: 'ametys-mask-unloading'});
         this._waitMsg.show();
         
         var contentIds = [];
@@ -224,7 +225,8 @@
     {
         var url = 'archives/unarchive/' + actionId;
         
-        this._waitMsg = new Ext.LoadMask({target: Ext.getBody(), msg: "<i18n:text i18n:key='CONTENT_UNARCHIVE_WAITING_MESSAGE'/>", msgCls: 'ametys-mask-unloading'});
+        var viewport = Ext.ComponentQuery.query('viewport')[0];
+        this._waitMsg = new Ext.LoadMask({target: viewport, msg: "<i18n:text i18n:key='CONTENT_UNARCHIVE_WAITING_MESSAGE'/>", msgCls: 'ametys-mask-unloading'});
         this._waitMsg.show();
         
         var contentIds = [];
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContent.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContent.i18n.js	(revision 28821)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContent.i18n.js	(working copy)
@@ -351,7 +351,7 @@
 			},
 			waitMessage: {
 				msg: "<i18n:text i18n:key='PLUGINS_CMS_HELPER_COPYCONTENT_WAIT_MSG'/>", 
-				target: this._box.getEl()
+				target: this._box
 			},
 			errorMessage: {
 				category: Ext.getClassName(this) + '._ok',
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContentValues.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContentValues.i18n.js	(revision 28821)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContentValues.i18n.js	(working copy)
@@ -216,7 +216,7 @@
 			},
 			waitMessage: {
 				msg: "<i18n:text i18n:key='PLUGINS_CMS_HELPER_COPYCONTENT_WAIT_MSG'/>", 
-				target: this._box.getEl()
+				target: this._box
 			},
 			errorMessage: {
 				category: Ext.getClassName(this) + '._ok',
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/content/tree/MetadataSetTree/MetadataSetNodeModel.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/content/tree/MetadataSetTree/MetadataSetNodeModel.i18n.js	(revision 28821)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/content/tree/MetadataSetTree/MetadataSetNodeModel.i18n.js	(working copy)
@@ -398,7 +398,6 @@
 	 */
 	metadataTooltipTpl: [
         '<div class="ametys-tooltip-tree-metadata">',
-        '<div class="ametys-tooltip-tree-metadata-title">{label}</div>',
         '<div class="ametys-tooltip-tree-metadata-text">{description}</div>',
         '<tpl if="warns && warns.length">',
     		'<ul class="warns"><tpl for="warns"><li>{.}</li></tpl></ul>',
@@ -498,7 +497,6 @@
 			
 			var me = this;
 			var qtip = Ext.XTemplate.getTpl(this, 'metadataTooltipTpl').apply({
-	        	label: me.get('label'),
 	        	description: me.get('description'),
 	        	infos: infos,
 	        	warns: warns
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/content/tree/MetadataSetTree.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/content/tree/MetadataSetTree.i18n.js	(revision 28821)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/content/tree/MetadataSetTree.i18n.js	(working copy)
@@ -141,9 +141,6 @@
 	 */
 	initialize: function(config)
 	{
-//		this._loadMask = this._loadMask || Ext.create('Ext.LoadMask', this, {});
-//		this._loadMask.show();
-		
 		this._isLoading = true;
 		
 		// content identifier or content type is mandatory.
@@ -434,7 +431,7 @@
 		// Handling load mask...
 		if (this._isLoading)
 		{
-			this._loadMask = this._loadMask || Ext.create('Ext.LoadMask', this, {});
+			this._loadMask = this._loadMask || Ext.create('Ext.LoadMask', this, {target: tree});
 			this._loadMask.show();
 		}
 		
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagActions.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagActions.i18n.js	(revision 28821)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagActions.i18n.js	(working copy)
@@ -279,7 +279,7 @@
     				handler: this._initEditForm,
     			},
     			waitMessage: {
-                    target: this._box.getEl(),
+                    target: this._box,
                     msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                 }
     		});
@@ -342,7 +342,7 @@
         				handler: this._addTagCb,
         			},
         			waitMessage: {
-                        target: this._box.getEl(),
+                        target: this._box,
                         msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                     },
                     errorMessage: {
@@ -362,7 +362,7 @@
         				handler: this._editTagCb,
         			},
         			waitMessage: {
-                        target: this._box.getEl(),
+                        target: this._box,
                         msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                     },
                     errorMessage: {
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagsTreePanel.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagsTreePanel.i18n.js	(revision 28821)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagsTreePanel.i18n.js	(working copy)
@@ -214,7 +214,7 @@
                     scope: this
                 },
                 waitMessage: {
-                    target: this.getEl(),
+                    target: this,
                     msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                 }
             });
@@ -638,7 +638,7 @@
                     scope: this
                 },
                 waitMessage: {
-                    target: this.getEl(),
+                    target: this,
                     msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                 }
             });
@@ -655,7 +655,7 @@
                     scope: this
                 },
                 waitMessage: {
-                    target: this.getEl(),
+                    target: this,
                     msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                 }
             });
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/tag/tool/TagsTool.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/tag/tool/TagsTool.i18n.js	(revision 28821)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/tag/tool/TagsTool.i18n.js	(working copy)
@@ -32,7 +32,6 @@
 	 */
     _tagTooltipTpl : Ext.create('Ext.XTemplate', [ 
                          '<div class="ctype-tooltip">',
-                             '<div class="ctype-tooltip-title">{name}</div>',
                              '<div class="ctype-tooltip-text">',
                                  '<div class="ctype-tooltip-img"><img src="{icon}"></div>',
                                  '{description}<br/>',
@@ -98,7 +97,7 @@
                 path : 'tags',
                 expanded : true,
                 loaded: true, // Prevent AJAX request
-                icon : Ametys.CONTEXT_PATH + "/plugins/cms/resources/img/tag/tags_16.png"
+                icon : "/plugins/cms/resources/img/tag/tags_16.png"
             },
             rootVisible : true,
 
@@ -236,7 +235,6 @@
     {
     	node.set('qtitle', node.get('name'));
     	node.set('qtip', this._tagTooltipTpl.apply({
-            name : node.get('name'),
             description : node.get('description').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<br />$2'),
             icon : Ametys.CONTEXT_PATH + (node.get('iconLarge') != '' ? node.get('iconLarge') : node.get('iconMedium')),
             visibility : (node.get('visibility') == 'PRIVATE' ? "<i18n:text i18n:key='PLUGINS_CMS_UITOOL_TAG_TOOLTIP_VISIBILITY_PRIVATE'/>" : "<i18n:text i18n:key='PLUGINS_CMS_UITOOL_TAG_TOOLTIP_VISIBILITY_PUBLIC'/>")
Index: main/plugin-cms/src/org/ametys/cms/contenttype/MetadataManager.java
===================================================================
--- main/plugin-cms/src/org/ametys/cms/contenttype/MetadataManager.java	(revision 28821)
+++ main/plugin-cms/src/org/ametys/cms/contenttype/MetadataManager.java	(working copy)
@@ -42,6 +42,7 @@
 import org.ametys.plugins.repository.AmetysObjectIterable;
 import org.ametys.plugins.repository.AmetysRepositoryException;
 import org.ametys.plugins.repository.TraversableAmetysObject;
+import org.ametys.plugins.repository.UnknownAmetysObjectException;
 import org.ametys.plugins.repository.metadata.BinaryMetadata;
 import org.ametys.plugins.repository.metadata.CommentableCompositeMetadata;
 import org.ametys.plugins.repository.metadata.CompositeMetadata;
@@ -664,10 +665,17 @@
                     }
                     else
                     {
-                        // In view mode, render the contents 
-                        Content refContent = _resolver.resolveById(value);
-                        
-                        _saxContent(contentHandler, refContent, metadataName, metadataSetElement, prefix, checkRead, editionRendering);
+                        try
+                        {
+                            // In view mode, render the contents 
+                            Content refContent = _resolver.resolveById(value);
+                            
+                            _saxContent(contentHandler, refContent, metadataName, metadataSetElement, prefix, checkRead, editionRendering);
+                        }
+                        catch (UnknownAmetysObjectException e)
+                        {
+                            // Do nothing
+                        }
                     }
                 }
             }